home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / libogg / libogg-1.0rc3 / config.guess < prev    next >
Encoding:
Text File  |  2002-10-27  |  37.4 KB  |  1,309 lines

  1. #! /bin/sh
  2. # Attempt to guess a canonical system name.
  3. #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
  4. #   Free Software Foundation, Inc.
  5.  
  6. timestamp='2001-11-08'
  7.  
  8. # This file is free software; you can redistribute it and/or modify it
  9. # under the terms of the GNU General Public License as published by
  10. # the Free Software Foundation; either version 2 of the License, or
  11. # (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful, but
  14. # WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16. # General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  21. #
  22. # As a special exception to the GNU General Public License, if you
  23. # distribute this file as part of a program that contains a
  24. # configuration script generated by Autoconf, you may include it under
  25. # the same distribution terms that you use for the rest of that program.
  26.  
  27. # Originally written by Per Bothner <bothner@cygnus.com>.
  28. # Please send patches to <config-patches@gnu.org>.  Submit a context
  29. # diff and a properly formatted ChangeLog entry.
  30. #
  31. # This script attempts to guess a canonical system name similar to
  32. # config.sub.  If it succeeds, it prints the system name on stdout, and
  33. # exits with 0.  Otherwise, it exits with 1.
  34. #
  35. # The plan is that this can be called by configure scripts if you
  36. # don't specify an explicit build system type.
  37.  
  38. me=`echo "$0" | sed -e 's,.*/,,'`
  39.  
  40. usage="\
  41. Usage: $0 [OPTION]
  42.  
  43. Output the configuration name of the system \`$me' is run on.
  44.  
  45. Operation modes:
  46.   -h, --help         print this help, then exit
  47.   -t, --time-stamp   print date of last modification, then exit
  48.   -v, --version      print version number, then exit
  49.  
  50. Report bugs and patches to <config-patches@gnu.org>."
  51.  
  52. version="\
  53. GNU config.guess ($timestamp)
  54.  
  55. Originally written by Per Bothner.
  56. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
  57. Free Software Foundation, Inc.
  58.  
  59. This is free software; see the source for copying conditions.  There is NO
  60. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
  61.  
  62. help="
  63. Try \`$me --help' for more information."
  64.  
  65. # Parse command line
  66. while test $# -gt 0 ; do
  67.   case $1 in
  68.     --time-stamp | --time* | -t )
  69.        echo "$timestamp" ; exit 0 ;;
  70.     --version | -v )
  71.        echo "$version" ; exit 0 ;;
  72.     --help | --h* | -h )
  73.        echo "$usage"; exit 0 ;;
  74.     -- )     # Stop option processing
  75.        shift; break ;;
  76.     - )    # Use stdin as input.
  77.        break ;;
  78.     -* )
  79.        echo "$me: invalid option $1$help" >&2
  80.        exit 1 ;;
  81.     * )
  82.        break ;;
  83.   esac
  84. done
  85.  
  86. if test $# != 0; then
  87.   echo "$me: too many arguments$help" >&2
  88.   exit 1
  89. fi
  90.  
  91.  
  92. dummy=dummy-$$
  93. trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
  94.  
  95. # CC_FOR_BUILD -- compiler used by this script.
  96. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
  97. # use `HOST_CC' if defined, but it is deprecated.
  98.  
  99. set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
  100.  ,,)    echo "int dummy(){}" > $dummy.c ;
  101.     for c in cc gcc c89 ; do
  102.       ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
  103.       if test $? = 0 ; then
  104.          CC_FOR_BUILD="$c"; break ;
  105.       fi ;
  106.     done ;
  107.     rm -f $dummy.c $dummy.o $dummy.rel ;
  108.     if test x"$CC_FOR_BUILD" = x ; then
  109.       CC_FOR_BUILD=no_compiler_found ;
  110.     fi
  111.     ;;
  112.  ,,*)   CC_FOR_BUILD=$CC ;;
  113.  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
  114. esac'
  115.  
  116. # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
  117. # (ghazi@noc.rutgers.edu 1994-08-24)
  118. if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
  119.     PATH=$PATH:/.attbin ; export PATH
  120. fi
  121.  
  122. UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
  123. UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
  124. UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
  125. UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
  126.  
  127. # Note: order is significant - the case branches are not exclusive.
  128.  
  129. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
  130.     *:NetBSD:*:*)
  131.     # NetBSD (nbsd) targets should (where applicable) match one or
  132.     # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
  133.     # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
  134.     # switched to ELF, *-*-netbsd* would select the old
  135.     # object file format.  This provides both forward
  136.     # compatibility and a consistent mechanism for selecting the
  137.     # object file format.
  138.     # Determine the machine/vendor (is the vendor relevant).
  139.     case "${UNAME_MACHINE}" in
  140.         amiga) machine=m68k-unknown ;;
  141.         arm32) machine=arm-unknown ;;
  142.         atari*) machine=m68k-atari ;;
  143.         sun3*) machine=m68k-sun ;;
  144.         mac68k) machine=m68k-apple ;;
  145.         macppc) machine=powerpc-apple ;;
  146.         hp3[0-9][05]) machine=m68k-hp ;;
  147.         ibmrt|romp-ibm) machine=romp-ibm ;;
  148.         sparc*) machine=`uname -p`-unknown ;;
  149.         *) machine=${UNAME_MACHINE}-unknown ;;
  150.     esac
  151.     # The Operating System including object format, if it has switched
  152.     # to ELF recently, or will in the future.
  153.     case "${UNAME_MACHINE}" in
  154.         i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
  155.         eval $set_cc_for_build
  156.         if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
  157.             | grep __ELF__ >/dev/null
  158.         then
  159.             # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
  160.             # Return netbsd for either.  FIX?
  161.             os=netbsd
  162.         else
  163.             os=netbsdelf
  164.         fi
  165.         ;;
  166.         *)
  167.             os=netbsd
  168.         ;;
  169.     esac
  170.     # The OS release
  171.     release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
  172.     # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
  173.     # contains redundant information, the shorter form:
  174.     # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
  175.     echo "${machine}-${os}${release}"
  176.     exit 0 ;;
  177.     amiga:OpenBSD:*:*)
  178.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  179.     exit 0 ;;
  180.     arc:OpenBSD:*:*)
  181.     echo mipsel-unknown-openbsd${UNAME_RELEASE}
  182.     exit 0 ;;
  183.     hp300:OpenBSD:*:*)
  184.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  185.     exit 0 ;;
  186.     mac68k:OpenBSD:*:*)
  187.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  188.     exit 0 ;;
  189.     macppc:OpenBSD:*:*)
  190.     echo powerpc-unknown-openbsd${UNAME_RELEASE}
  191.     exit 0 ;;
  192.     mvme68k:OpenBSD:*:*)
  193.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  194.     exit 0 ;;
  195.     mvme88k:OpenBSD:*:*)
  196.     echo m88k-unknown-openbsd${UNAME_RELEASE}
  197.     exit 0 ;;
  198.     mvmeppc:OpenBSD:*:*)
  199.     echo powerpc-unknown-openbsd${UNAME_RELEASE}
  200.     exit 0 ;;
  201.     pmax:OpenBSD:*:*)
  202.     echo mipsel-unknown-openbsd${UNAME_RELEASE}
  203.     exit 0 ;;
  204.     sgi:OpenBSD:*:*)
  205.     echo mipseb-unknown-openbsd${UNAME_RELEASE}
  206.     exit 0 ;;
  207.     sun3:OpenBSD:*:*)
  208.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  209.     exit 0 ;;
  210.     wgrisc:OpenBSD:*:*)
  211.     echo mipsel-unknown-openbsd${UNAME_RELEASE}
  212.     exit 0 ;;
  213.     *:OpenBSD:*:*)
  214.     echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
  215.     exit 0 ;;
  216.     alpha:OSF1:*:*)
  217.     if test $UNAME_RELEASE = "V4.0"; then
  218.         UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
  219.     fi
  220.     # A Vn.n version is a released version.
  221.     # A Tn.n version is a released field test version.
  222.     # A Xn.n version is an unreleased experimental baselevel.
  223.     # 1.2 uses "1.2" for uname -r.
  224.     cat <<EOF >$dummy.s
  225.     .data
  226. \$Lformat:
  227.     .byte 37,100,45,37,120,10,0    # "%d-%x\n"
  228.  
  229.     .text
  230.     .globl main
  231.     .align 4
  232.     .ent main
  233. main:
  234.     .frame \$30,16,\$26,0
  235.     ldgp \$29,0(\$27)
  236.     .prologue 1
  237.     .long 0x47e03d80 # implver \$0
  238.     lda \$2,-1
  239.     .long 0x47e20c21 # amask \$2,\$1
  240.     lda \$16,\$Lformat
  241.     mov \$0,\$17
  242.     not \$1,\$18
  243.     jsr \$26,printf
  244.     ldgp \$29,0(\$26)
  245.     mov 0,\$16
  246.     jsr \$26,exit
  247.     .end main
  248. EOF
  249.     eval $set_cc_for_build
  250.     $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
  251.     if test "$?" = 0 ; then
  252.         case `./$dummy` in
  253.             0-0)
  254.                 UNAME_MACHINE="alpha"
  255.                 ;;
  256.             1-0)
  257.                 UNAME_MACHINE="alphaev5"
  258.                 ;;
  259.             1-1)
  260.                 UNAME_MACHINE="alphaev56"
  261.                 ;;
  262.             1-101)
  263.                 UNAME_MACHINE="alphapca56"
  264.                 ;;
  265.             2-303)
  266.                 UNAME_MACHINE="alphaev6"
  267.                 ;;
  268.             2-307)
  269.                 UNAME_MACHINE="alphaev67"
  270.                 ;;
  271.             2-1307)
  272.                 UNAME_MACHINE="alphaev68"
  273.                 ;;
  274.         esac
  275.     fi
  276.     rm -f $dummy.s $dummy
  277.     echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  278.     exit 0 ;;
  279.     Alpha\ *:Windows_NT*:*)
  280.     # How do we know it's Interix rather than the generic POSIX subsystem?
  281.     # Should we change UNAME_MACHINE based on the output of uname instead
  282.     # of the specific Alpha model?
  283.     echo alpha-pc-interix
  284.     exit 0 ;;
  285.     21064:Windows_NT:50:3)
  286.     echo alpha-dec-winnt3.5
  287.     exit 0 ;;
  288.     Amiga*:UNIX_System_V:4.0:*)
  289.     echo m68k-unknown-sysv4
  290.     exit 0;;
  291.     *:[Aa]miga[Oo][Ss]:*:*)
  292.     echo ${UNAME_MACHINE}-unknown-amigaos
  293.     exit 0 ;;
  294.     *:OS/390:*:*)
  295.     echo i370-ibm-openedition
  296.     exit 0 ;;
  297.     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  298.     echo arm-acorn-riscix${UNAME_RELEASE}
  299.     exit 0;;
  300.     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
  301.     echo hppa1.1-hitachi-hiuxmpp
  302.     exit 0;;
  303.     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
  304.     # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
  305.     if test "`(/bin/universe) 2>/dev/null`" = att ; then
  306.         echo pyramid-pyramid-sysv3
  307.     else
  308.         echo pyramid-pyramid-bsd
  309.     fi
  310.     exit 0 ;;
  311.     NILE*:*:*:dcosx)
  312.     echo pyramid-pyramid-svr4
  313.     exit 0 ;;
  314.     sun4H:SunOS:5.*:*)
  315.     echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  316.     exit 0 ;;
  317.     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  318.     echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  319.     exit 0 ;;
  320.     i86pc:SunOS:5.*:*)
  321.     echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  322.     exit 0 ;;
  323.     sun4*:SunOS:6*:*)
  324.     # According to config.sub, this is the proper way to canonicalize
  325.     # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
  326.     # it's likely to be more like Solaris than SunOS4.
  327.     echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  328.     exit 0 ;;
  329.     sun4*:SunOS:*:*)
  330.     case "`/usr/bin/arch -k`" in
  331.         Series*|S4*)
  332.         UNAME_RELEASE=`uname -v`
  333.         ;;
  334.     esac
  335.     # Japanese Language versions have a version number like `4.1.3-JL'.
  336.     echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
  337.     exit 0 ;;
  338.     sun3*:SunOS:*:*)
  339.     echo m68k-sun-sunos${UNAME_RELEASE}
  340.     exit 0 ;;
  341.     sun*:*:4.2BSD:*)
  342.     UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
  343.     test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
  344.     case "`/bin/arch`" in
  345.         sun3)
  346.         echo m68k-sun-sunos${UNAME_RELEASE}
  347.         ;;
  348.         sun4)
  349.         echo sparc-sun-sunos${UNAME_RELEASE}
  350.         ;;
  351.     esac
  352.     exit 0 ;;
  353.     aushp:SunOS:*:*)
  354.     echo sparc-auspex-sunos${UNAME_RELEASE}
  355.     exit 0 ;;
  356.     # The situation for MiNT is a little confusing.  The machine name
  357.     # can be virtually everything (everything which is not
  358.     # "atarist" or "atariste" at least should have a processor
  359.     # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
  360.     # to the lowercase version "mint" (or "freemint").  Finally
  361.     # the system name "TOS" denotes a system which is actually not
  362.     # MiNT.  But MiNT is downward compatible to TOS, so this should
  363.     # be no problem.
  364.     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
  365.         echo m68k-atari-mint${UNAME_RELEASE}
  366.     exit 0 ;;
  367.     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
  368.     echo m68k-atari-mint${UNAME_RELEASE}
  369.         exit 0 ;;
  370.     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
  371.         echo m68k-atari-mint${UNAME_RELEASE}
  372.     exit 0 ;;
  373.     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
  374.         echo m68k-milan-mint${UNAME_RELEASE}
  375.         exit 0 ;;
  376.     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
  377.         echo m68k-hades-mint${UNAME_RELEASE}
  378.         exit 0 ;;
  379.     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
  380.         echo m68k-unknown-mint${UNAME_RELEASE}
  381.         exit 0 ;;
  382.     powerpc:machten:*:*)
  383.     echo powerpc-apple-machten${UNAME_RELEASE}
  384.     exit 0 ;;
  385.     RISC*:Mach:*:*)
  386.     echo mips-dec-mach_bsd4.3
  387.     exit 0 ;;
  388.     RISC*:ULTRIX:*:*)
  389.     echo mips-dec-ultrix${UNAME_RELEASE}
  390.     exit 0 ;;
  391.     VAX*:ULTRIX*:*:*)
  392.     echo vax-dec-ultrix${UNAME_RELEASE}
  393.     exit 0 ;;
  394.     2020:CLIX:*:* | 2430:CLIX:*:*)
  395.     echo clipper-intergraph-clix${UNAME_RELEASE}
  396.     exit 0 ;;
  397.     mips:*:*:UMIPS | mips:*:*:RISCos)
  398.     eval $set_cc_for_build
  399.     sed 's/^    //' << EOF >$dummy.c
  400. #ifdef __cplusplus
  401. #include <stdio.h>  /* for printf() prototype */
  402.     int main (int argc, char *argv[]) {
  403. #else
  404.     int main (argc, argv) int argc; char *argv[]; {
  405. #endif
  406.     #if defined (host_mips) && defined (MIPSEB)
  407.     #if defined (SYSTYPE_SYSV)
  408.       printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
  409.     #endif
  410.     #if defined (SYSTYPE_SVR4)
  411.       printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
  412.     #endif
  413.     #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
  414.       printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
  415.     #endif
  416.     #endif
  417.       exit (-1);
  418.     }
  419. EOF
  420.     $CC_FOR_BUILD $dummy.c -o $dummy \
  421.       && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
  422.       && rm -f $dummy.c $dummy && exit 0
  423.     rm -f $dummy.c $dummy
  424.     echo mips-mips-riscos${UNAME_RELEASE}
  425.     exit 0 ;;
  426.     Motorola:PowerMAX_OS:*:*)
  427.     echo powerpc-motorola-powermax
  428.     exit 0 ;;
  429.     Night_Hawk:Power_UNIX:*:*)
  430.     echo powerpc-harris-powerunix
  431.     exit 0 ;;
  432.     m88k:CX/UX:7*:*)
  433.     echo m88k-harris-cxux7
  434.     exit 0 ;;
  435.     m88k:*:4*:R4*)
  436.     echo m88k-motorola-sysv4
  437.     exit 0 ;;
  438.     m88k:*:3*:R3*)
  439.     echo m88k-motorola-sysv3
  440.     exit 0 ;;
  441.     AViiON:dgux:*:*)
  442.         # DG/UX returns AViiON for all architectures
  443.         UNAME_PROCESSOR=`/usr/bin/uname -p`
  444.     if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
  445.     then
  446.         if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
  447.            [ ${TARGET_BINARY_INTERFACE}x = x ]
  448.         then
  449.         echo m88k-dg-dgux${UNAME_RELEASE}
  450.         else
  451.         echo m88k-dg-dguxbcs${UNAME_RELEASE}
  452.         fi
  453.     else
  454.         echo i586-dg-dgux${UNAME_RELEASE}
  455.     fi
  456.      exit 0 ;;
  457.     M88*:DolphinOS:*:*)    # DolphinOS (SVR3)
  458.     echo m88k-dolphin-sysv3
  459.     exit 0 ;;
  460.     M88*:*:R3*:*)
  461.     # Delta 88k system running SVR3
  462.     echo m88k-motorola-sysv3
  463.     exit 0 ;;
  464.     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
  465.     echo m88k-tektronix-sysv3
  466.     exit 0 ;;
  467.     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
  468.     echo m68k-tektronix-bsd
  469.     exit 0 ;;
  470.     *:IRIX*:*:*)
  471.     echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
  472.     exit 0 ;;
  473.     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
  474.     echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
  475.     exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
  476.     i*86:AIX:*:*)
  477.     echo i386-ibm-aix
  478.     exit 0 ;;
  479.     ia64:AIX:*:*)
  480.     if [ -x /usr/bin/oslevel ] ; then
  481.         IBM_REV=`/usr/bin/oslevel`
  482.     else
  483.         IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  484.     fi
  485.     echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
  486.     exit 0 ;;
  487.     *:AIX:2:3)
  488.     if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
  489.         eval $set_cc_for_build
  490.         sed 's/^        //' << EOF >$dummy.c
  491.         #include <sys/systemcfg.h>
  492.  
  493.         main()
  494.             {
  495.             if (!__power_pc())
  496.                 exit(1);
  497.             puts("powerpc-ibm-aix3.2.5");
  498.             exit(0);
  499.             }
  500. EOF
  501.         $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
  502.         rm -f $dummy.c $dummy
  503.         echo rs6000-ibm-aix3.2.5
  504.     elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
  505.         echo rs6000-ibm-aix3.2.4
  506.     else
  507.         echo rs6000-ibm-aix3.2
  508.     fi
  509.     exit 0 ;;
  510.     *:AIX:*:[45])
  511.     IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
  512.     if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
  513.         IBM_ARCH=rs6000
  514.     else
  515.         IBM_ARCH=powerpc
  516.     fi
  517.     if [ -x /usr/bin/oslevel ] ; then
  518.         IBM_REV=`/usr/bin/oslevel`
  519.     else
  520.         IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  521.     fi
  522.     echo ${IBM_ARCH}-ibm-aix${IBM_REV}
  523.     exit 0 ;;
  524.     *:AIX:*:*)
  525.     echo rs6000-ibm-aix
  526.     exit 0 ;;
  527.     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
  528.     echo romp-ibm-bsd4.4
  529.     exit 0 ;;
  530.     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
  531.     echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
  532.     exit 0 ;;                           # report: romp-ibm BSD 4.3
  533.     *:BOSX:*:*)
  534.     echo rs6000-bull-bosx
  535.     exit 0 ;;
  536.     DPX/2?00:B.O.S.:*:*)
  537.     echo m68k-bull-sysv3
  538.     exit 0 ;;
  539.     9000/[34]??:4.3bsd:1.*:*)
  540.     echo m68k-hp-bsd
  541.     exit 0 ;;
  542.     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
  543.     echo m68k-hp-bsd4.4
  544.     exit 0 ;;
  545.     9000/[34678]??:HP-UX:*:*)
  546.     HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  547.     case "${UNAME_MACHINE}" in
  548.         9000/31? )            HP_ARCH=m68000 ;;
  549.         9000/[34]?? )         HP_ARCH=m68k ;;
  550.         9000/[678][0-9][0-9])
  551.         if [ -x /usr/bin/getconf ]; then
  552.             sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
  553.                     sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
  554.                     case "${sc_cpu_version}" in
  555.                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
  556.                       528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
  557.                       532)                      # CPU_PA_RISC2_0
  558.                         case "${sc_kernel_bits}" in
  559.                           32) HP_ARCH="hppa2.0n" ;;
  560.                           64) HP_ARCH="hppa2.0w" ;;
  561.               '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
  562.                         esac ;;
  563.                     esac
  564.         fi
  565.         if [ "${HP_ARCH}" = "" ]; then
  566.             eval $set_cc_for_build
  567.             sed 's/^              //' << EOF >$dummy.c
  568.  
  569.               #define _HPUX_SOURCE
  570.               #include <stdlib.h>
  571.               #include <unistd.h>
  572.  
  573.               int main ()
  574.               {
  575.               #if defined(_SC_KERNEL_BITS)
  576.                   long bits = sysconf(_SC_KERNEL_BITS);
  577.               #endif
  578.                   long cpu  = sysconf (_SC_CPU_VERSION);
  579.  
  580.                   switch (cpu)
  581.                   {
  582.                   case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
  583.                   case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
  584.                   case CPU_PA_RISC2_0:
  585.               #if defined(_SC_KERNEL_BITS)
  586.                       switch (bits)
  587.                       {
  588.                       case 64: puts ("hppa2.0w"); break;
  589.                       case 32: puts ("hppa2.0n"); break;
  590.                       default: puts ("hppa2.0"); break;
  591.                       } break;
  592.               #else  /* !defined(_SC_KERNEL_BITS) */
  593.                       puts ("hppa2.0"); break;
  594.               #endif
  595.                   default: puts ("hppa1.0"); break;
  596.                   }
  597.                   exit (0);
  598.               }
  599. EOF
  600.             (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
  601.             if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
  602.             rm -f $dummy.c $dummy
  603.         fi ;;
  604.     esac
  605.     echo ${HP_ARCH}-hp-hpux${HPUX_REV}
  606.     exit 0 ;;
  607.     ia64:HP-UX:*:*)
  608.     HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  609.     echo ia64-hp-hpux${HPUX_REV}
  610.     exit 0 ;;
  611.     3050*:HI-UX:*:*)
  612.     eval $set_cc_for_build
  613.     sed 's/^    //' << EOF >$dummy.c
  614.     #include <unistd.h>
  615.     int
  616.     main ()
  617.     {
  618.       long cpu = sysconf (_SC_CPU_VERSION);
  619.       /* The order matters, because CPU_IS_HP_MC68K erroneously returns
  620.          true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
  621.          results, however.  */
  622.       if (CPU_IS_PA_RISC (cpu))
  623.         {
  624.           switch (cpu)
  625.         {
  626.           case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
  627.           case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
  628.           case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
  629.           default: puts ("hppa-hitachi-hiuxwe2"); break;
  630.         }
  631.         }
  632.       else if (CPU_IS_HP_MC68K (cpu))
  633.         puts ("m68k-hitachi-hiuxwe2");
  634.       else puts ("unknown-hitachi-hiuxwe2");
  635.       exit (0);
  636.     }
  637. EOF
  638.     $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
  639.     rm -f $dummy.c $dummy
  640.     echo unknown-hitachi-hiuxwe2
  641.     exit 0 ;;
  642.     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
  643.     echo hppa1.1-hp-bsd
  644.     exit 0 ;;
  645.     9000/8??:4.3bsd:*:*)
  646.     echo hppa1.0-hp-bsd
  647.     exit 0 ;;
  648.     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
  649.     echo hppa1.0-hp-mpeix
  650.     exit 0 ;;
  651.     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
  652.     echo hppa1.1-hp-osf
  653.     exit 0 ;;
  654.     hp8??:OSF1:*:*)
  655.     echo hppa1.0-hp-osf
  656.     exit 0 ;;
  657.     i*86:OSF1:*:*)
  658.     if [ -x /usr/sbin/sysversion ] ; then
  659.         echo ${UNAME_MACHINE}-unknown-osf1mk
  660.     else
  661.         echo ${UNAME_MACHINE}-unknown-osf1
  662.     fi
  663.     exit 0 ;;
  664.     parisc*:Lites*:*:*)
  665.     echo hppa1.1-hp-lites
  666.     exit 0 ;;
  667.     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
  668.     echo c1-convex-bsd
  669.         exit 0 ;;
  670.     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
  671.     if getsysinfo -f scalar_acc
  672.     then echo c32-convex-bsd
  673.     else echo c2-convex-bsd
  674.     fi
  675.         exit 0 ;;
  676.     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
  677.     echo c34-convex-bsd
  678.         exit 0 ;;
  679.     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
  680.     echo c38-convex-bsd
  681.         exit 0 ;;
  682.     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
  683.     echo c4-convex-bsd
  684.         exit 0 ;;
  685.     CRAY*X-MP:*:*:*)
  686.     echo xmp-cray-unicos
  687.         exit 0 ;;
  688.     CRAY*Y-MP:*:*:*)
  689.     echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  690.     exit 0 ;;
  691.     CRAY*[A-Z]90:*:*:*)
  692.     echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
  693.     | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
  694.           -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
  695.           -e 's/\.[^.]*$/.X/'
  696.     exit 0 ;;
  697.     CRAY*TS:*:*:*)
  698.     echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  699.     exit 0 ;;
  700.     CRAY*T3D:*:*:*)
  701.     echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  702.     exit 0 ;;
  703.     CRAY*T3E:*:*:*)
  704.     echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  705.     exit 0 ;;
  706.     CRAY*SV1:*:*:*)
  707.     echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  708.     exit 0 ;;
  709.     CRAY-2:*:*:*)
  710.     echo cray2-cray-unicos
  711.         exit 0 ;;
  712.     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
  713.     FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  714.         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
  715.         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
  716.         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
  717.         exit 0 ;;
  718.     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
  719.     echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
  720.     exit 0 ;;
  721.     sparc*:BSD/OS:*:*)
  722.     echo sparc-unknown-bsdi${UNAME_RELEASE}
  723.     exit 0 ;;
  724.     *:BSD/OS:*:*)
  725.     echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
  726.     exit 0 ;;
  727.     *:FreeBSD:*:*)
  728.     echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
  729.     exit 0 ;;
  730.     i*:CYGWIN*:*)
  731.     echo ${UNAME_MACHINE}-pc-cygwin
  732.     exit 0 ;;
  733.     i*:MINGW*:*)
  734.     echo ${UNAME_MACHINE}-pc-mingw32
  735.     exit 0 ;;
  736.     i*:PW*:*)
  737.     echo ${UNAME_MACHINE}-pc-pw32
  738.     exit 0 ;;
  739.     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
  740.     # How do we know it's Interix rather than the generic POSIX subsystem?
  741.     # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
  742.     # UNAME_MACHINE based on the output of uname instead of i386?
  743.     echo i386-pc-interix
  744.     exit 0 ;;
  745.     i*:UWIN*:*)
  746.     echo ${UNAME_MACHINE}-pc-uwin
  747.     exit 0 ;;
  748.     p*:CYGWIN*:*)
  749.     echo powerpcle-unknown-cygwin
  750.     exit 0 ;;
  751.     prep*:SunOS:5.*:*)
  752.     echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  753.     exit 0 ;;
  754.     *:GNU:*:*)
  755.     echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
  756.     exit 0 ;;
  757.     i*86:Minix:*:*)
  758.     echo ${UNAME_MACHINE}-pc-minix
  759.     exit 0 ;;
  760.     arm*:Linux:*:*)
  761.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  762.     exit 0 ;;
  763.     ia64:Linux:*:*)
  764.     echo ${UNAME_MACHINE}-unknown-linux
  765.     exit 0 ;;
  766.     m68*:Linux:*:*)
  767.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  768.     exit 0 ;;
  769.     mips:Linux:*:*)
  770.     case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
  771.       big)    echo mips-unknown-linux-gnu && exit 0 ;;
  772.       little) echo mipsel-unknown-linux-gnu && exit 0 ;;
  773.     esac
  774.     ;;
  775.     ppc:Linux:*:*)
  776.     echo powerpc-unknown-linux-gnu
  777.     exit 0 ;;
  778.     ppc64:Linux:*:*)
  779.     echo powerpc64-unknown-linux-gnu
  780.     exit 0 ;;
  781.     alpha:Linux:*:*)
  782.     case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  783.       EV5)   UNAME_MACHINE=alphaev5 ;;
  784.       EV56)  UNAME_MACHINE=alphaev56 ;;
  785.       PCA56) UNAME_MACHINE=alphapca56 ;;
  786.       PCA57) UNAME_MACHINE=alphapca56 ;;
  787.       EV6)   UNAME_MACHINE=alphaev6 ;;
  788.       EV67)  UNAME_MACHINE=alphaev67 ;;
  789.       EV68*) UNAME_MACHINE=alphaev68 ;;
  790.         esac
  791.     objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
  792.     if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  793.     echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
  794.     exit 0 ;;
  795.     parisc:Linux:*:* | hppa:Linux:*:*)
  796.     # Look for CPU level
  797.     case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
  798.       PA7*) echo hppa1.1-unknown-linux-gnu ;;
  799.       PA8*) echo hppa2.0-unknown-linux-gnu ;;
  800.       *)    echo hppa-unknown-linux-gnu ;;
  801.     esac
  802.     exit 0 ;;
  803.     parisc64:Linux:*:* | hppa64:Linux:*:*)
  804.     echo hppa64-unknown-linux-gnu
  805.     exit 0 ;;
  806.     s390:Linux:*:* | s390x:Linux:*:*)
  807.     echo ${UNAME_MACHINE}-ibm-linux
  808.     exit 0 ;;
  809.     sh*:Linux:*:*)
  810.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  811.     exit 0 ;;
  812.     sparc:Linux:*:* | sparc64:Linux:*:*)
  813.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  814.     exit 0 ;;
  815.     x86_64:Linux:*:*)
  816.     echo x86_64-unknown-linux-gnu
  817.     exit 0 ;;
  818.     i*86:Linux:*:*)
  819.     # The BFD linker knows what the default object file format is, so
  820.     # first see if it will tell us. cd to the root directory to prevent
  821.     # problems with other programs or directories called `ld' in the path.
  822.     ld_supported_targets=`cd /; ld --help 2>&1 \
  823.              | sed -ne '/supported targets:/!d
  824.                     s/[     ][     ]*/ /g
  825.                     s/.*supported targets: *//
  826.                     s/ .*//
  827.                     p'`
  828.         case "$ld_supported_targets" in
  829.       elf32-i386)
  830.         TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
  831.         ;;
  832.       a.out-i386-linux)
  833.         echo "${UNAME_MACHINE}-pc-linux-gnuaout"
  834.         exit 0 ;;        
  835.       coff-i386)
  836.         echo "${UNAME_MACHINE}-pc-linux-gnucoff"
  837.         exit 0 ;;
  838.       "")
  839.         # Either a pre-BFD a.out linker (linux-gnuoldld) or
  840.         # one that does not give us useful --help.
  841.         echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
  842.         exit 0 ;;
  843.     esac
  844.     # Determine whether the default compiler is a.out or elf
  845.     eval $set_cc_for_build
  846.     cat >$dummy.c <<EOF
  847. #include <features.h>
  848. #ifdef __cplusplus
  849. #include <stdio.h>  /* for printf() prototype */
  850.     int main (int argc, char *argv[]) {
  851. #else
  852.     int main (argc, argv) int argc; char *argv[]; {
  853. #endif
  854. #ifdef __ELF__
  855. # ifdef __GLIBC__
  856. #  if __GLIBC__ >= 2
  857.     printf ("%s-pc-linux-gnu\n", argv[1]);
  858. #  else
  859.     printf ("%s-pc-linux-gnulibc1\n", argv[1]);
  860. #  endif
  861. # else
  862.    printf ("%s-pc-linux-gnulibc1\n", argv[1]);
  863. # endif
  864. #else
  865.   printf ("%s-pc-linux-gnuaout\n", argv[1]);
  866. #endif
  867.   return 0;
  868. }
  869. EOF
  870.     $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
  871.     rm -f $dummy.c $dummy
  872.     test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
  873.     ;;
  874.     i*86:DYNIX/ptx:4*:*)
  875.     # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  876.     # earlier versions are messed up and put the nodename in both
  877.     # sysname and nodename.
  878.     echo i386-sequent-sysv4
  879.     exit 0 ;;
  880.     i*86:UNIX_SV:4.2MP:2.*)
  881.         # Unixware is an offshoot of SVR4, but it has its own version
  882.         # number series starting with 2...
  883.         # I am not positive that other SVR4 systems won't match this,
  884.     # I just have to hope.  -- rms.
  885.         # Use sysv4.2uw... so that sysv4* matches it.
  886.     echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
  887.     exit 0 ;;
  888.     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
  889.     UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
  890.     if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
  891.         echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
  892.     else
  893.         echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
  894.     fi
  895.     exit 0 ;;
  896.     i*86:*:5:[78]*)
  897.     case `/bin/uname -X | grep "^Machine"` in
  898.         *486*)         UNAME_MACHINE=i486 ;;
  899.         *Pentium)         UNAME_MACHINE=i586 ;;
  900.         *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
  901.     esac
  902.     echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
  903.     exit 0 ;;
  904.     i*86:*:3.2:*)
  905.     if test -f /usr/options/cb.name; then
  906.         UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
  907.         echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
  908.     elif /bin/uname -X 2>/dev/null >/dev/null ; then
  909.         UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
  910.         (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
  911.         (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
  912.             && UNAME_MACHINE=i586
  913.         (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
  914.             && UNAME_MACHINE=i686
  915.         (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
  916.             && UNAME_MACHINE=i686
  917.         echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
  918.     else
  919.         echo ${UNAME_MACHINE}-pc-sysv32
  920.     fi
  921.     exit 0 ;;
  922.     i*86:*DOS:*:*)
  923.     echo ${UNAME_MACHINE}-pc-msdosdjgpp
  924.     exit 0 ;;
  925.     pc:*:*:*)
  926.     # Left here for compatibility:
  927.         # uname -m prints for DJGPP always 'pc', but it prints nothing about
  928.         # the processor, so we play safe by assuming i386.
  929.     echo i386-pc-msdosdjgpp
  930.         exit 0 ;;
  931.     Intel:Mach:3*:*)
  932.     echo i386-pc-mach3
  933.     exit 0 ;;
  934.     paragon:*:*:*)
  935.     echo i860-intel-osf1
  936.     exit 0 ;;
  937.     i860:*:4.*:*) # i860-SVR4
  938.     if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  939.       echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  940.     else # Add other i860-SVR4 vendors below as they are discovered.
  941.       echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
  942.     fi
  943.     exit 0 ;;
  944.     mini*:CTIX:SYS*5:*)
  945.     # "miniframe"
  946.     echo m68010-convergent-sysv
  947.     exit 0 ;;
  948.     M68*:*:R3V[567]*:*)
  949.     test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
  950.     3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
  951.     OS_REL=''
  952.     test -r /etc/.relid \
  953.     && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  954.     /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  955.       && echo i486-ncr-sysv4.3${OS_REL} && exit 0
  956.     /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
  957.       && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
  958.     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
  959.         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  960.           && echo i486-ncr-sysv4 && exit 0 ;;
  961.     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
  962.     echo m68k-unknown-lynxos${UNAME_RELEASE}
  963.     exit 0 ;;
  964.     mc68030:UNIX_System_V:4.*:*)
  965.     echo m68k-atari-sysv4
  966.     exit 0 ;;
  967.     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
  968.     echo i386-unknown-lynxos${UNAME_RELEASE}
  969.     exit 0 ;;
  970.     TSUNAMI:LynxOS:2.*:*)
  971.     echo sparc-unknown-lynxos${UNAME_RELEASE}
  972.     exit 0 ;;
  973.     rs6000:LynxOS:2.*:*)
  974.     echo rs6000-unknown-lynxos${UNAME_RELEASE}
  975.     exit 0 ;;
  976.     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
  977.     echo powerpc-unknown-lynxos${UNAME_RELEASE}
  978.     exit 0 ;;
  979.     SM[BE]S:UNIX_SV:*:*)
  980.     echo mips-dde-sysv${UNAME_RELEASE}
  981.     exit 0 ;;
  982.     RM*:ReliantUNIX-*:*:*)
  983.     echo mips-sni-sysv4
  984.     exit 0 ;;
  985.     RM*:SINIX-*:*:*)
  986.     echo mips-sni-sysv4
  987.     exit 0 ;;
  988.     *:SINIX-*:*:*)
  989.     if uname -p 2>/dev/null >/dev/null ; then
  990.         UNAME_MACHINE=`(uname -p) 2>/dev/null`
  991.         echo ${UNAME_MACHINE}-sni-sysv4
  992.     else
  993.         echo ns32k-sni-sysv
  994.     fi
  995.     exit 0 ;;
  996.     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
  997.                       # says <Richard.M.Bartel@ccMail.Census.GOV>
  998.         echo i586-unisys-sysv4
  999.         exit 0 ;;
  1000.     *:UNIX_System_V:4*:FTX*)
  1001.     # From Gerald Hewes <hewes@openmarket.com>.
  1002.     # How about differentiating between stratus architectures? -djm
  1003.     echo hppa1.1-stratus-sysv4
  1004.     exit 0 ;;
  1005.     *:*:*:FTX*)
  1006.     # From seanf@swdc.stratus.com.
  1007.     echo i860-stratus-sysv4
  1008.     exit 0 ;;
  1009.     *:VOS:*:*)
  1010.     # From Paul.Green@stratus.com.
  1011.     echo hppa1.1-stratus-vos
  1012.     exit 0 ;;
  1013.     mc68*:A/UX:*:*)
  1014.     echo m68k-apple-aux${UNAME_RELEASE}
  1015.     exit 0 ;;
  1016.     news*:NEWS-OS:6*:*)
  1017.     echo mips-sony-newsos6
  1018.     exit 0 ;;
  1019.     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
  1020.     if [ -d /usr/nec ]; then
  1021.             echo mips-nec-sysv${UNAME_RELEASE}
  1022.     else
  1023.             echo mips-unknown-sysv${UNAME_RELEASE}
  1024.     fi
  1025.         exit 0 ;;
  1026.     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
  1027.     echo powerpc-be-beos
  1028.     exit 0 ;;
  1029.     BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
  1030.     echo powerpc-apple-beos
  1031.     exit 0 ;;
  1032.     BePC:BeOS:*:*)    # BeOS running on Intel PC compatible.
  1033.     echo i586-pc-beos
  1034.     exit 0 ;;
  1035.     SX-4:SUPER-UX:*:*)
  1036.     echo sx4-nec-superux${UNAME_RELEASE}
  1037.     exit 0 ;;
  1038.     SX-5:SUPER-UX:*:*)
  1039.     echo sx5-nec-superux${UNAME_RELEASE}
  1040.     exit 0 ;;
  1041.     Power*:Rhapsody:*:*)
  1042.     echo powerpc-apple-rhapsody${UNAME_RELEASE}
  1043.     exit 0 ;;
  1044.     *:Rhapsody:*:*)
  1045.     echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
  1046.     exit 0 ;;
  1047.     *:Darwin:*:*)
  1048.     echo `uname -p`-apple-darwin${UNAME_RELEASE}
  1049.     exit 0 ;;
  1050.     *:procnto*:*:* | *:QNX:[0123456789]*:*)
  1051.     if test "${UNAME_MACHINE}" = "x86pc"; then
  1052.         UNAME_MACHINE=pc
  1053.     fi
  1054.     echo `uname -p`-${UNAME_MACHINE}-nto-qnx
  1055.     exit 0 ;;
  1056.     *:QNX:*:4*)
  1057.     echo i386-pc-qnx
  1058.     exit 0 ;;
  1059.     NSR-[KW]:NONSTOP_KERNEL:*:*)
  1060.     echo nsr-tandem-nsk${UNAME_RELEASE}
  1061.     exit 0 ;;
  1062.     *:NonStop-UX:*:*)
  1063.     echo mips-compaq-nonstopux
  1064.     exit 0 ;;
  1065.     BS2000:POSIX*:*:*)
  1066.     echo bs2000-siemens-sysv
  1067.     exit 0 ;;
  1068.     DS/*:UNIX_System_V:*:*)
  1069.     echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
  1070.     exit 0 ;;
  1071.     *:Plan9:*:*)
  1072.     # "uname -m" is not consistent, so use $cputype instead. 386
  1073.     # is converted to i386 for consistency with other x86
  1074.     # operating systems.
  1075.     if test "$cputype" = "386"; then
  1076.         UNAME_MACHINE=i386
  1077.     else
  1078.         UNAME_MACHINE="$cputype"
  1079.     fi
  1080.     echo ${UNAME_MACHINE}-unknown-plan9
  1081.     exit 0 ;;
  1082.     i*86:OS/2:*:*)
  1083.     # If we were able to find `uname', then EMX Unix compatibility
  1084.     # is probably installed.
  1085.     echo ${UNAME_MACHINE}-pc-os2-emx
  1086.     exit 0 ;;
  1087.     *:TOPS-10:*:*)
  1088.     echo pdp10-unknown-tops10
  1089.     exit 0 ;;
  1090.     *:TENEX:*:*)
  1091.     echo pdp10-unknown-tenex
  1092.     exit 0 ;;
  1093.     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
  1094.     echo pdp10-dec-tops20
  1095.     exit 0 ;;
  1096.     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
  1097.     echo pdp10-xkl-tops20
  1098.     exit 0 ;;
  1099.     *:TOPS-20:*:*)
  1100.     echo pdp10-unknown-tops20
  1101.     exit 0 ;;
  1102.     *:ITS:*:*)
  1103.     echo pdp10-unknown-its
  1104.     exit 0 ;;
  1105.     i*86:XTS-300:*:STOP)
  1106.     echo ${UNAME_MACHINE}-unknown-stop
  1107.     exit 0 ;;
  1108.     i*86:atheos:*:*)
  1109.     echo ${UNAME_MACHINE}-unknown-atheos
  1110.     exit 0 ;;
  1111. esac
  1112.  
  1113. #echo '(No uname command or uname output not recognized.)' 1>&2
  1114. #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
  1115.  
  1116. eval $set_cc_for_build
  1117. cat >$dummy.c <<EOF
  1118. #ifdef _SEQUENT_
  1119. # include <sys/types.h>
  1120. # include <sys/utsname.h>
  1121. #endif
  1122. main ()
  1123. {
  1124. #if defined (sony)
  1125. #if defined (MIPSEB)
  1126.   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
  1127.      I don't know....  */
  1128.   printf ("mips-sony-bsd\n"); exit (0);
  1129. #else
  1130. #include <sys/param.h>
  1131.   printf ("m68k-sony-newsos%s\n",
  1132. #ifdef NEWSOS4
  1133.           "4"
  1134. #else
  1135.       ""
  1136. #endif
  1137.          ); exit (0);
  1138. #endif
  1139. #endif
  1140.  
  1141. #if defined (__arm) && defined (__acorn) && defined (__unix)
  1142.   printf ("arm-acorn-riscix"); exit (0);
  1143. #endif
  1144.  
  1145. #if defined (hp300) && !defined (hpux)
  1146.   printf ("m68k-hp-bsd\n"); exit (0);
  1147. #endif
  1148.  
  1149. #if defined (NeXT)
  1150. #if !defined (__ARCHITECTURE__)
  1151. #define __ARCHITECTURE__ "m68k"
  1152. #endif
  1153.   int version;
  1154.   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
  1155.   if (version < 4)
  1156.     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
  1157.   else
  1158.     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
  1159.   exit (0);
  1160. #endif
  1161.  
  1162. #if defined (MULTIMAX) || defined (n16)
  1163. #if defined (UMAXV)
  1164.   printf ("ns32k-encore-sysv\n"); exit (0);
  1165. #else
  1166. #if defined (CMU)
  1167.   printf ("ns32k-encore-mach\n"); exit (0);
  1168. #else
  1169.   printf ("ns32k-encore-bsd\n"); exit (0);
  1170. #endif
  1171. #endif
  1172. #endif
  1173.  
  1174. #if defined (__386BSD__)
  1175.   printf ("i386-pc-bsd\n"); exit (0);
  1176. #endif
  1177.  
  1178. #if defined (sequent)
  1179. #if defined (i386)
  1180.   printf ("i386-sequent-dynix\n"); exit (0);
  1181. #endif
  1182. #if defined (ns32000)
  1183.   printf ("ns32k-sequent-dynix\n"); exit (0);
  1184. #endif
  1185. #endif
  1186.  
  1187. #if defined (_SEQUENT_)
  1188.     struct utsname un;
  1189.  
  1190.     uname(&un);
  1191.  
  1192.     if (strncmp(un.version, "V2", 2) == 0) {
  1193.     printf ("i386-sequent-ptx2\n"); exit (0);
  1194.     }
  1195.     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
  1196.     printf ("i386-sequent-ptx1\n"); exit (0);
  1197.     }
  1198.     printf ("i386-sequent-ptx\n"); exit (0);
  1199.  
  1200. #endif
  1201.  
  1202. #if defined (vax)
  1203. # if !defined (ultrix)
  1204. #  include <sys/param.h>
  1205. #  if defined (BSD)
  1206. #   if BSD == 43
  1207.       printf ("vax-dec-bsd4.3\n"); exit (0);
  1208. #   else
  1209. #    if BSD == 199006
  1210.       printf ("vax-dec-bsd4.3reno\n"); exit (0);
  1211. #    else
  1212.       printf ("vax-dec-bsd\n"); exit (0);
  1213. #    endif
  1214. #   endif
  1215. #  else
  1216.     printf ("vax-dec-bsd\n"); exit (0);
  1217. #  endif
  1218. # else
  1219.     printf ("vax-dec-ultrix\n"); exit (0);
  1220. # endif
  1221. #endif
  1222.  
  1223. #if defined (alliant) && defined (i860)
  1224.   printf ("i860-alliant-bsd\n"); exit (0);
  1225. #endif
  1226.  
  1227.   exit (1);
  1228. }
  1229. EOF
  1230.  
  1231. $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
  1232. rm -f $dummy.c $dummy
  1233.  
  1234. # Apollos put the system type in the environment.
  1235.  
  1236. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
  1237.  
  1238. # Convex versions that predate uname can use getsysinfo(1)
  1239.  
  1240. if [ -x /usr/convex/getsysinfo ]
  1241. then
  1242.     case `getsysinfo -f cpu_type` in
  1243.     c1*)
  1244.     echo c1-convex-bsd
  1245.     exit 0 ;;
  1246.     c2*)
  1247.     if getsysinfo -f scalar_acc
  1248.     then echo c32-convex-bsd
  1249.     else echo c2-convex-bsd
  1250.     fi
  1251.     exit 0 ;;
  1252.     c34*)
  1253.     echo c34-convex-bsd
  1254.     exit 0 ;;
  1255.     c38*)
  1256.     echo c38-convex-bsd
  1257.     exit 0 ;;
  1258.     c4*)
  1259.     echo c4-convex-bsd
  1260.     exit 0 ;;
  1261.     esac
  1262. fi
  1263.  
  1264. cat >&2 <<EOF
  1265. $0: unable to guess system type
  1266.  
  1267. This script, last modified $timestamp, has failed to recognize
  1268. the operating system you are using. It is advised that you
  1269. download the most up to date version of the config scripts from
  1270.  
  1271.     ftp://ftp.gnu.org/pub/gnu/config/
  1272.  
  1273. If the version you run ($0) is already up to date, please
  1274. send the following data and any information you think might be
  1275. pertinent to <config-patches@gnu.org> in order to provide the needed
  1276. information to handle your system.
  1277.  
  1278. config.guess timestamp = $timestamp
  1279.  
  1280. uname -m = `(uname -m) 2>/dev/null || echo unknown`
  1281. uname -r = `(uname -r) 2>/dev/null || echo unknown`
  1282. uname -s = `(uname -s) 2>/dev/null || echo unknown`
  1283. uname -v = `(uname -v) 2>/dev/null || echo unknown`
  1284.  
  1285. /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
  1286. /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
  1287.  
  1288. hostinfo               = `(hostinfo) 2>/dev/null`
  1289. /bin/universe          = `(/bin/universe) 2>/dev/null`
  1290. /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
  1291. /bin/arch              = `(/bin/arch) 2>/dev/null`
  1292. /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
  1293. /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
  1294.  
  1295. UNAME_MACHINE = ${UNAME_MACHINE}
  1296. UNAME_RELEASE = ${UNAME_RELEASE}
  1297. UNAME_SYSTEM  = ${UNAME_SYSTEM}
  1298. UNAME_VERSION = ${UNAME_VERSION}
  1299. EOF
  1300.  
  1301. exit 1
  1302.  
  1303. # Local variables:
  1304. # eval: (add-hook 'write-file-hooks 'time-stamp)
  1305. # time-stamp-start: "timestamp='"
  1306. # time-stamp-format: "%:y-%02m-%02d"
  1307. # time-stamp-end: "'"
  1308. # End:
  1309.